ديف أوبس

تثبيت phpMyAdmin على أوبونتو

كيفية تثبيت وتأمين phpMyAdmin على نظام Ubuntu 14.04

تُعد phpMyAdmin واحدة من أشهر وأبرز أدوات إدارة قواعد البيانات MySQL وMariaDB عبر واجهة ويب سهلة الاستخدام. توفر هذه الأداة للمستخدمين القدرة على تنفيذ مهام إدارة قواعد البيانات دون الحاجة إلى التعامل مع أوامر الطرفية المعقدة، مما يجعلها خيارًا مثاليًا للمطورين ومديري الأنظمة على حد سواء. في هذا المقال المفصل، سنتناول خطوة بخطوة كيفية تثبيت phpMyAdmin على نظام تشغيل Ubuntu 14.04، بالإضافة إلى إجراءات تأمين هذه الأداة لضمان حماية قواعد البيانات من التهديدات الأمنية المحتملة.


مقدمة عن phpMyAdmin

phpMyAdmin هو تطبيق ويب مفتوح المصدر يعتمد على لغة PHP، يسمح للمستخدمين بإدارة قواعد البيانات MySQL وMariaDB من خلال واجهة رسومية بديهية. يوفر phpMyAdmin مجموعة واسعة من الميزات مثل إنشاء قواعد البيانات والجداول، تنفيذ الاستعلامات، إدارة المستخدمين والصلاحيات، واستيراد وتصدير البيانات.

لكن بسبب كونه أداة تعرض قواعد البيانات على الويب، فإنه عرضة للهجمات إذا لم يتم تأمينه بشكل صحيح. لذا، تأتي عملية التثبيت مصحوبة بخطوات تأمين مهمة يجب اتباعها بعناية، خصوصًا على نظام Ubuntu 14.04 الذي يُعتبر إصدارًا قديمًا نسبياً ويتطلب المزيد من الحرص على تحديث وضبط الإعدادات الأمنية.


متطلبات التثبيت

قبل البدء بعملية تثبيت phpMyAdmin على Ubuntu 14.04، يجب التأكد من وجود المتطلبات الأساسية التالية على الخادم:

  • نظام Ubuntu 14.04 محدث (يفضل تحديث النظام عبر الأمر sudo apt-get update && sudo apt-get upgrade)

  • تثبيت خادم ويب Apache أو Nginx

  • قاعدة بيانات MySQL أو MariaDB مثبتة ومفعلة

  • PHP مثبت مع وحدات PHP الضرورية


الخطوة الأولى: تحديث النظام

من الأفضل البدء بتحديث جميع الحزم على النظام لضمان الحصول على آخر التحديثات الأمنية:

bash
sudo apt-get update sudo apt-get upgrade

الخطوة الثانية: تثبيت Apache وMySQL وPHP

إذا لم تكن هذه الحزم مثبتة، يمكن تثبيتها كما يلي:

bash
sudo apt-get install apache2 sudo apt-get install mysql-server sudo apt-get install php5 php5-mysql libapache2-mod-php5 php5-mcrypt

خلال تثبيت MySQL، سيُطلب منك تعيين كلمة مرور لمستخدم الـ root الخاص بقاعدة البيانات، ويجب اختيار كلمة مرور قوية.


الخطوة الثالثة: تثبيت phpMyAdmin

يمكن تثبيت phpMyAdmin من مستودعات Ubuntu الرسمية عبر الأمر:

bash
sudo apt-get install phpmyadmin

أثناء التثبيت، ستظهر نافذة تطلب منك اختيار خادم الويب الذي تريد تكوين phpMyAdmin معه، اختر Apache2 ثم اضغط Enter.

سيُطلب منك تأكيد تكوين قاعدة البيانات لـ phpMyAdmin عبر dbconfig-common، اختر نعم، ثم أدخل كلمة مرور المستخدم الإداري لقاعدة البيانات.


الخطوة الرابعة: تهيئة Apache لتفعيل phpMyAdmin

عادةً، يقوم المثبت تلقائيًا بإنشاء ملف إعداد خاص بـ phpMyAdmin في مجلد إعدادات Apache، لكن في بعض الأحيان يجب ربطه يدويًا:

bash
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf sudo a2enconf phpmyadmin sudo service apache2 reload

الخطوة الخامسة: اختبار تثبيت phpMyAdmin

بعد الانتهاء من الخطوات السابقة، يمكن الوصول إلى واجهة phpMyAdmin عبر المتصفح من خلال الرابط:

arduino
http://your_server_ip/phpmyadmin

يجب أن تظهر صفحة تسجيل الدخول إلى phpMyAdmin، حيث يمكن إدخال بيانات مستخدم قاعدة البيانات (مثل root أو أي مستخدم آخر).


الخطوة السادسة: تأمين phpMyAdmin

نظرًا لأن phpMyAdmin معرضة للهجمات من الإنترنت، يجب اتخاذ عدة خطوات لتأمينها، خصوصًا على نظام Ubuntu 14.04.

1. تحديث النظام والحزم

ينصح دائمًا بتحديث النظام والحزم بشكل دوري عبر:

bash
sudo apt-get update sudo apt-get upgrade

2. تأمين الوصول عبر المصادقة الإضافية (HTTP Authentication)

يمكن إضافة طبقة حماية إضافية باستخدام ملف .htpasswd، بحيث يُطلب من المستخدم إدخال اسم مستخدم وكلمة مرور عند محاولة الدخول إلى phpMyAdmin.

إنشاء ملف كلمة المرور

bash
sudo apt-get install apache2-utils sudo htpasswd -c /etc/phpmyadmin/.htpasswd username

استبدل “username” بالاسم الذي ترغب به، وسيُطلب منك إدخال كلمة مرور.

تعديل إعدادات Apache لإضافة المصادقة

قم بتحرير ملف إعداد phpMyAdmin:

bash
sudo nano /etc/apache2/conf-available/phpmyadmin.conf

أضف داخل الكتلة الأسطر التالية:

pgsql
AuthType Basic AuthName "Restricted Access" AuthUserFile /etc/phpmyadmin/.htpasswd Require valid-user

بعد ذلك، احفظ الملف وأعد تشغيل Apache:

bash
sudo service apache2 reload

3. تغيير مسار الوصول إلى phpMyAdmin

من الممارسات الأمنية الجيدة عدم استخدام المسار الافتراضي للوصول إلى phpMyAdmin. يمكن تغيير مسار الرابط من /phpmyadmin إلى مسار آخر يصعب تخمينه.

طريقة التغيير

  • أعد تسمية رابط الرمزي:

bash
sudo mv /usr/share/phpmyadmin /usr/share/secure_phpmyadmin
  • ثم قم بإنشاء ملف إعداد جديد لـ Apache:

bash
sudo nano /etc/apache2/conf-available/secure_phpmyadmin.conf

ضع فيه:

pgsql
Alias /secure_phpmyadmin /usr/share/secure_phpmyadmin share/secure_phpmyadmin> Options FollowSymLinks DirectoryIndex index.php AddType application/x-httpd-php .php php_flag magic_quotes_gpc Off php_flag track_vars On php_flag register_globals Off php_admin_flag allow_url_fopen Off php_value include_path .
  • قم بتفعيل الإعداد الجديد:

bash
sudo a2disconf phpmyadmin sudo a2enconf secure_phpmyadmin sudo service apache2 reload

يمكنك الآن الوصول إلى phpMyAdmin عبر الرابط:

arduino
http://your_server_ip/secure_phpmyadmin

4. تعطيل تسجيل الدخول لـ root من خلال phpMyAdmin

من الأمنيات الحسنة عدم السماح لمستخدم root بالوصول عبر phpMyAdmin. يمكن تنفيذ ذلك عبر قاعدة بيانات MySQL بتقليل صلاحيات هذا المستخدم أو تعطيل تسجيل الدخول من الخارج.


الخطوة السابعة: تكوين جدار الحماية

إذا كان الخادم يستخدم جدار حماية UFW، يجب السماح فقط بالوصول إلى المنفذ 80 (HTTP) و443 (HTTPS):

bash
sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw enable

كما يمكن تحديد عناوين IP المسموح لها بالوصول إلى phpMyAdmin عبر إعدادات Apache، مثل:

apache
Order Deny,Allow Deny from all Allow from 192.168.1.0/24

الخطوة الثامنة: تفعيل HTTPS لتأمين الاتصال

من المهم جدًا تأمين اتصال المستخدمين مع خادم phpMyAdmin باستخدام بروتوكول HTTPS لتشفير البيانات ومنع التنصت.

إنشاء شهادة SSL مجانية باستخدام Let’s Encrypt

يمكن استخدام Certbot للحصول على شهادة SSL مجانية:

bash
sudo add-apt-repository ppa:certbot/certbot sudo apt-get update sudo apt-get install python-certbot-apache sudo certbot --apache -d your_domain_or_ip

اتبع التعليمات لإنهاء التثبيت، وبعدها سيتوفر لديك اتصال آمن عبر HTTPS.


الخطوة التاسعة: ضبط إعدادات PHP لتحسين الأمان

ينصح بتعديل بعض إعدادات PHP في ملف php.ini لتعزيز الأمان:

  • تعطيل عرض الأخطاء على الويب:

ini
display_errors = Off
  • تعطيل تحميل الملفات غير الآمنة:

ini
file_uploads = Off
  • تفعيل حدود للذاكرة والوقت:

ini
memory_limit = 128M max_execution_time = 30

بعد تعديل الملف:

bash
sudo service apache2 restart

الخطوة العاشرة: النسخ الاحتياطي المنتظم

لا يمكن تجاهل أهمية النسخ الاحتياطي المنتظم لقواعد البيانات وملفات phpMyAdmin للحماية من فقدان البيانات نتيجة للاختراقات أو الأعطال التقنية. يمكن جدولة نسخ احتياطية دورية باستخدام سكربتات shell أو أدوات مثل mysqldump.


جدول مقارنة بين خطوات التثبيت والتأمين

المرحلة الإجراءات الأساسية الهدف من الإجراء
تحديث النظام تحديث الحزم باستخدام apt-get ضمان استخدام أحدث الإصدارات الأمنية
تثبيت الحزم الأساسية تثبيت Apache وMySQL وPHP توفير البيئة المناسبة لتشغيل phpMyAdmin
تثبيت phpMyAdmin تثبيت من المستودعات وتكوين Apache تثبيت أداة إدارة قواعد البيانات عبر الويب
تأمين الوصول إضافة مصادقة HTTP، تغيير مسار الوصول حماية phpMyAdmin من الدخول غير المصرح
تفعيل HTTPS تثبيت شهادة SSL من Let’s Encrypt تشفير البيانات أثناء الاتصال
ضبط إعدادات PHP تعطيل عرض الأخطاء، تقييد الذاكرة الحد من تعرض النظام للهجمات البرمجية
النسخ الاحتياطي جدولة نسخ احتياطية منتظمة ضمان استرداد البيانات عند حدوث مشاكل

خاتمة

تثبيت phpMyAdmin على نظام Ubuntu 14.04 ليس مهمة معقدة، لكنه يتطلب الانتباه والحرص على تنفيذ خطوات تأمين فعالة، خاصة مع انتشار التهديدات الإلكترونية المستمرة. من خلال اتباع الخطوات التفصيلية السابقة، يمكن للمستخدمين تأمين بيئة عمل phpMyAdmin بحيث تتيح إدارة قواعد البيانات بسلاسة وأمان. كما أن الالتزام بتحديث النظام، تكوين طبقات حماية متعددة، واستخدام بروتوكول HTTPS، تعتبر عوامل حاسمة في ضمان أمان البيانات ومنع الاختراقات المحتملة.


المصادر والمراجع

  1. Official phpMyAdmin Documentation

  2. Ubuntu Server Guide